1. Field Of The Invention
The present invention is a system for modifying a profile format, such as an International Color Consortium (ICC) profile format, by storing, in a private tag, an order of color transformation operations and pointers to color transformation operations in the profile format, both of which take precedence over other color transformation operations defined in the profile format.
2. Description Of The Related Art
Profile formats are used to translate color image data formatted for one device color space into color image data formatted for another device color space or a device-independent color space. For example, an ICC profile format defines a series of standard color transformation operations to convert color image data formatted for an RGB (red, green and blue) color space in a color monitor into a device-independent color space, called the "profile connection space", and then into color image data formatted for a CMY (cyan, magenta and yellow) color space in a color printer.
While standardized ICC profiles achieve color compatibility between different devices in some cases, standardized ICC profiles are inflexible with respect to the numbers and types of color transformations operations which they perform and with respect to the order in which the color transformations are performed.
More specifically, ICC profiles define color transformation operations in public tags. In general, a tag is a area of memory which stores formatted data used for performing color transformation operations, and/or pointers to other tags. Public tags, as defined by the ICC, comprise tags which contain standardized color transformation operations which perform a predetermined set of color transformations in a predetermined order. ICC public tags are not alterable.
In this regard, because ICC public tags are limited to ICC-defined color transformation operations, they are unable to perform certain color transformation operations, particularly those color transformation operations which are needed to convert between color spaces not covered by the ICC.
Additionally, because ICC public tags are not alterable, once a public tag is accessed to perform a color transformation, all of the pre-set color transformation operations stored in the public tag must be performed in the specified order. In some cases, this can result in errors in color transformation. In other cases, this is merely inefficient. For example, unnecessary color transformation operations may be performed on input image data, regardless of whether the color transformation operations are required.
Thus, there exists a need for a system of modifying ICC profile formats which permits a software developer to modify the type, number and order of color transformation operations stored in the ICC profile format.